منبع باز
نوشته شده توسط : رسول رشیدی

مدیریت ساده در لینوکس:

 

مدیریت کاربران در لینوکس هرچند که بسیار ساده است اما جزئیات دقیقی دارد.مدیریت کاربران آنقدر ساده است

که باعث تنفر از وجود کاربر جدید نخواهد شد بهتر است یک قانون کلی برای کاربران داشته باشیم ؛ به هرچیزی

که نیاز دارند دسترسی بدهیم ، نه بیشتر ونه کمتر

هر مدیر سیستمی به شما می گوید کاربران را از طریق گروه ها مدیریت کنید اما باید ابتدا هر کاربری را ایجاد کرد.

سپس او را در گروه خاص قرار داد و دسترسی هایش را تعیین کرد این عملیات ساده است که در این پست در مورد این

موضوع بحث خواهیم کرد:

 

دستورات گروه :

 

در ابتدا به چگونگی کارکرد گروه ها خواهم پرداخت

تنظیمات گروه ها در فایل  /etc /group یافت می شوند ، یک فایل لینوکس استاندارد   /etc/ group شامل اطلاعات

زیر خواهد بود که به فرم نام گروه : X شناسه گروه کاربر قرار می گیرد .

متغیر X در تعریف گروه فایلی است که در واقع محل قرارگیری رمز عبور گروه در آن جا می گیرد.

برای آنکه بفهمیم در چه گروهی قرار داریم کافی است دستور زیر را وارد کنید:

Groups$

khess rdpusers

در بسیاری از سیستم های لینوکسی وقتی مدیر ،شناسه ای برای یک فرد ایجاد می کند سیستم به طور خودکار

گروهی با همان نام برای شناسه کاربر می سازد.

 

مدیر سیستم  می تواند هنگام ایجاد حساب ، گروهی را تعیین کند که از پیش ساخته شده اس ت به دو مثال زیر

دقت کنید.

useradd fred#

grep fred/ etc/ passwd#

fred:x:504:506::/home/fred:/bin/bash

grep fred/ etc /group#

:fred:X:506

useradd-g100-c"bob alobdob#

bob

grep bob/ etc/ passwd#

b o b: x : 505:100 : bob

Alobdob:/home/bob:/bin/bash

grep bob/ etc/ group#

#

 

چرا وقتی دستور      grep bob /etc /group را تایپ کردیم ، سیستم پاسخی نمی دهد؟ دلیل اینکار این است که

گروه کاربران گروه اصلی شناسه  bob است.

اگر گروه users یک گروه فرعی بود، شناسه  bob در خروجی چاپ می شد.

برای مثال ، کافی است شناسه ای با  rdpusers به عنوان گروه فرعی بسازیم.

useradd -G 504 -c "Jon Shmon"john#

grep john /etc /passwd#

J o h n : X : 506 :507 : jon

Shmon:/home/john:/bin/bash

grep john / etc / group#

rdpusers:X: 504 : khess john

:john : X : 507

 

توجه داشته باشید که گروه را قبل از تعیین کاربرانش باید بسازیم .دستور groupadd گروه جدیدی را با شناسه

گروه ( GID ) یکتا می سازد.

groupadd - g 1040 accounting#

grep 1040 /etc/ group #

:accounting:X:1040

 

اگر در دستور ذکر شده ، شناسه گروه را وارد نکنیم ، خود سیستم به طور خودکار یک شناسه یکتا به آن گروه

می دهد.

دستور  groupmod برای تغییر نام گروه استفاده می شود توجه داشته باشید که بعد از انجام این دستور ، مدیر

سیستم  باید فایل های تنظیمات کاربران این گروه را اصلاح کند.

  groupmod - n accounting bean - counters #

grep 1040 / etc  / group #

:beancounters: X:1040

 

نکته :

 

دستور chgrp ( دسترسی گروه ) را نباید  با دستور groupmod (تغییر نام گروه ) اشتباه گرفت

با دستور  groupdel نیز می توان یک گروه را به طور کلی پاک کرد.           groupdel beancounters#

اگر ترجیح می دهید به صورت مستقیم فایل های پیکربندی تنظیمات گروه را ویرایش کنید(هر چند نیازی به انجام این

کار نیست )، دستور vigr فایل  / etc /group را با قرار دادن یک قفل روی فایل ویرایش می کند. به این ترتیب تنها یک

مدیر در لحظه می تواند فایل را ویرایش کند و تداخل تنظیمات به وجود نمی آید.

بهتره کلا از دستورات مخصوص group واسه مدیریت گروه ها استفاده بشه

 

دستورات کاربر :

 

این دستورات به این علت در این بخش قرار گرفته که عملکرد آنها بیشتر در حوزه کاربرها واضح خواهد بود حتی اگه

یه کاربر بدونه که این دستورها کجاست (/ usr / sbin) باز هم نمیشه بدون دسترسی به root به اونا دسترسی

داشت.

مثلا:اگه یه کاربر بخواد شناسه جدیدی رو با استفاده از دستور  useradd و vipw ایجاد کنه با پیام زیر روبه رو میشه:

usr /sbin /useradd steve/$

useradd : only root may add a user or group to the system

usr /sbin /vipw/$

vipw : Couldn't lock file : permission denied

vipw : /etc/passwd is unchanged

 

می توان یک کاربر را با دستور  useradd ایجاد کرد شناسه آن را از طریق usermod عوض کرد و با کمک دستور

userdel شناسه کاربر را از سیستم حذف کرد ، همچنین ویرایش فایل etc /passwd را مستقیما از طریق دستورvipw

انجام داد. دستور useradd و شیوه اجرای آن را در مثال های قبلی دیده اید.

دستور usermod می تواند اطلاعات یک کاربر از جمله نام واقعی ، محل دایرکتوری Home ،تاریخ اتمام اعتبار این

شناسه ، کارکردهای آن ،افزودن یا تغییر گروه ، نام ورودی به سیستم  ، قفل یا باز کردن شناسه و تغییر پوسته کاربر

را انجام دهد.

grep khess /etc /passwd#

khess : X:500:500: kenneth hess :/home /khess:/bin/bash

usermod -c :"ken hess"khess#

grep khess /etc/passwd#

khess :X:500:500:ken hess :/home /khess:/bin/bash

 

دستور  usermod را باید با احتیاط اجرا کرد چرا که تایپ ناصحیح یک دستور می تواند باعث بی استفاده شدن آن

حساب شود.مثلا اگه فرض کنیم Bob Alobdob که در مثال گروه آن را ایجاد کردیم ، بخواهد شناسه ورودی

و دایرکتوری home خود را به robert تغییر دهد.

usermod -d "/home /robert "-m-l rob-ert bob #

grep robert /etc/passwd #

robert : X : 505: 100 : bob Alobdob :/home/robert:/bin /bash

 

دقت کنید که چگونه  عبارت / home /robert به دقت و درون گیومه وارد شده است .اگر این اتفاق نیفتد شناسه

رابرت دیگر دایرکتوری  Home ندارد و در نتیجه سیستم برایش بی استفاده خواهد شد ، همانطور که در دستور

مشخص است ، دایرکتوری فعلی/ home /bob به  / home /robert تغییر می کند شناسه لاگین bob  به robert

تغییر می کند و گزینه _m محتوای دایرکتوری bob را به robert منتقل می کند.

 

 

نکته :

 

شناسه ورودی کاربری را که هم اکنون در حال کار با سیستم است نمی توان تغییر داد .

دستور userdel احتمالا واضح است اما بعد از اجرای این دستور متوجه می شوید که

دایرکتوری home کاربر دست نخورده باقی مانده است .چرا باید این اتفاق بیفتد؟

دلیل پاک نشدن این اطلاعات مکانیزم جلوگیری از اشتباهی است که در سیستم

پیاده شده است مثلا اگر شناسه کاربر از طریق یک حرف یا عدد با شناسه دیگری

متفاوت باشد.ممکن است اشتباه اطلاعات فرد دیگری به اشتباه پاک شود و باید

پیش از رویداد بحران جلوی آن را گرفت بنابراین حذف اطلاعات به صورت دستی

خواهد بود تا یه بار دیگه این مو

مدیریت ساده در لینوکس:

مدیریت کاربران در لینوکس هرچند که بسیار ساده است اما جزئیات دقیقی دارد.مدیریت کاربران آنقدر ساده است

که باعث تنفر از وجود کاربر جدید نخواهد شد بهتر است یک قانون کلی برای کاربران داشته باشیم ؛ به هرچیزی

که نیاز دارند دسترسی بدهیم ، نه بیشتر ونه کمتر

هر مدیر سیستمی به شما می گوید کاربران را از طریق گروه ها مدیریت کنید اما باید ابتدا هر کاربری را ایجاد کرد.

سپس او را در گروه خاص قرار داد و دسترسی هایش را تعیین کرد این عملیات ساده است که در این پست در مورد این

موضوع بحث خواهیم کرد:

 

دستورات گروه :

 

در ابتدا به چگونگی کارکرد گروه ها خواهم پرداخت

تنظیمات گروه ها در فایل  /etc /group یافت می شوند ، یک فایل لینوکس استاندارد   /etc/ group شامل اطلاعات

زیر خواهد بود که به فرم نام گروه : X شناسه گروه کاربر قرار می گیرد .

متغیر X در تعریف گروه فایلی است که در واقع محل قرارگیری رمز عبور گروه در آن جا می گیرد.

برای آنکه بفهمیم در چه گروهی قرار داریم کافی است دستور زیر را وارد کنید:

Groups$

khess rdpusers

در بسیاری از سیستم های لینوکسی وقتی مدیر ،شناسه ای برای یک فرد ایجاد می کند سیستم به طور خودکار

گروهی با همان نام برای شناسه کاربر می سازد.

 

مدیر سیستم  می تواند هنگام ایجاد حساب ، گروهی را تعیین کند که از پیش ساخته شده اس ت به دو مثال زیر

دقت کنید.

useradd fred#

grep fred/ etc/ passwd#

fred:x:504:506::/home/fred:/bin/bash

grep fred/ etc /group#

:fred:X:506

useradd-g100-c"bob alobdob#

bob

grep bob/ etc/ passwd#

b o b: x : 505:100 : bob

Alobdob:/home/bob:/bin/bash

grep bob/ etc/ group#

#

 

چرا وقتی دستور      grep bob /etc /group را تایپ کردیم ، سیستم پاسخی نمی دهد؟ دلیل اینکار این است که

گروه کاربران گروه اصلی شناسه  bob است.

اگر گروه users یک گروه فرعی بود، شناسه  bob در خروجی چاپ می شد.

برای مثال ، کافی است شناسه ای با  rdpusers به عنوان گروه فرعی بسازیم.

useradd -G 504 -c "Jon Shmon"john#

grep john /etc /passwd#

J o h n : X : 506 :507 : jon

Shmon:/home/john:/bin/bash

grep john / etc / group#

rdpusers:X: 504 : khess john

:john : X : 507

 

توجه داشته باشید که گروه را قبل از تعیین کاربرانش باید بسازیم .دستور groupadd گروه جدیدی را با شناسه

گروه ( GID ) یکتا می سازد.

groupadd - g 1040 accounting#

grep 1040 /etc/ group #

:accounting:X:1040

 

اگر در دستور ذکر شده ، شناسه گروه را وارد نکنیم ، خود سیستم به طور خودکار یک شناسه یکتا به آن گروه

می دهد.

دستور  groupmod برای تغییر نام گروه استفاده می شود توجه داشته باشید که بعد از انجام این دستور ، مدیر

سیستم  باید فایل های تنظیمات کاربران این گروه را اصلاح کند.

  groupmod - n accounting bean - counters #

grep 1040 / etc  / group #

:beancounters: X:1040

 

نکته :

 

دستور chgrp ( دسترسی گروه ) را نباید  با دستور groupmod (تغییر نام گروه ) اشتباه گرفت

با دستور  groupdel نیز می توان یک گروه را به طور کلی پاک کرد.           groupdel beancounters#

اگر ترجیح می دهید به صورت مستقیم فایل های پیکربندی تنظیمات گروه را ویرایش کنید(هر چند نیازی به انجام این

کار نیست )، دستور vigr فایل  / etc /group را با قرار دادن یک قفل روی فایل ویرایش می کند. به این ترتیب تنها یک

مدیر در لحظه می تواند فایل را ویرایش کند و تداخل تنظیمات به وجود نمی آید.

بهتره کلا از دستورات مخصوص group واسه مدیریت گروه ها استفاده بشه

 

دستورات کاربر :

 

این دستورات به این علت در این بخش قرار گرفته که عملکرد آنها بیشتر در حوزه کاربرها واضح خواهد بود حتی اگه

یه کاربر بدونه که این دستورها کجاست (/ usr / sbin) باز هم نمیشه بدون دسترسی به root به اونا دسترسی

داشت.

مثلا:اگه یه کاربر بخواد شناسه جدیدی رو با استفاده از دستور  useradd و vipw ایجاد کنه با پیام زیر روبه رو میشه:

usr /sbin /useradd steve/$

useradd : only root may add a user or group to the system

usr /sbin /vipw/$

vipw : Couldn't lock file : permission denied

vipw : /etc/passwd is unchanged

 

می توان یک کاربر را با دستور  useradd ایجاد کرد شناسه آن را از طریق usermod عوض کرد و با کمک دستور

userdel شناسه کاربر را از سیستم حذف کرد ، همچنین ویرایش فایل etc /passwd را مستقیما از طریق دستورvipw

انجام داد. دستور useradd و شیوه اجرای آن را در مثال های قبلی دیده اید.

دستور usermod می تواند اطلاعات یک کاربر از جمله نام واقعی ، محل دایرکتوری Home ،تاریخ اتمام اعتبار این

شناسه ، کارکردهای آن ،افزودن یا تغییر گروه ، نام ورودی به سیستم  ، قفل یا باز کردن شناسه و تغییر پوسته کاربر

را انجام دهد.

grep khess /etc /passwd#

khess : X:500:500: kenneth hess :/home /khess:/bin/bash

usermod -c :"ken hess"khess#

grep khess /etc/passwd#

khess :X:500:500:ken hess :/home /khess:/bin/bash

 

دستور  usermod را باید با احتیاط اجرا کرد چرا که تایپ ناصحیح یک دستور می تواند باعث بی استفاده شدن آن

حساب شود.مثلا اگه فرض کنیم Bob Alobdob که در مثال گروه آن را ایجاد کردیم ، بخواهد شناسه ورودی

و دایرکتوری home خود را به robert تغییر دهد.

usermod -d "/home /robert "-m-l rob-ert bob #

grep robert /etc/passwd #

robert : X : 505: 100 : bob Alobdob :/home/robert:/bin /bash

 

دقت کنید که چگونه  عبارت / home /robert به دقت و درون گیومه وارد شده است .اگر این اتفاق نیفتد شناسه

رابرت دیگر دایرکتوری  Home ندارد و در نتیجه سیستم برایش بی استفاده خواهد شد ، همانطور که در دستور

مشخص است ، دایرکتوری فعلی/ home /bob به  / home /robert تغییر می کند شناسه لاگین bob  به robert

تغییر می کند و گزینه _m محتوای دایرکتوری bob را به robert منتقل می کند.

 

 

نکته :

 

شناسه ورودی کاربری را که هم اکنون در حال کار با سیستم است نمی توان تغییر داد .

دستور userdel احتمالا واضح است اما بعد از اجرای این دستور متوجه می شوید که

دایرکتوری home کاربر دست نخورده باقی مانده است .چرا باید این اتفاق بیفتد؟

دلیل پاک نشدن این اطلاعات مکانیزم جلوگیری از اشتباهی است که در سیستم

پیاده شده است مثلا اگر شناسه کاربر از طریق یک حرف یا عدد با شناسه دیگری

متفاوت باشد.ممکن است اشتباه اطلاعات فرد دیگری به اشتباه پاک شود و باید

پیش از رویداد بحران جلوی آن را گرفت بنابراین حذف اطلاعات به صورت دستی

خواهد بود تا یه بار دیگه این موضوع چک شود.

 





:: بازدید از این مطلب : 779
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : چهار شنبه 18 بهمن 1391 | نظرات ()
مطالب مرتبط با این پست
لیست
می توانید دیدگاه خود را بنویسید


نام
آدرس ایمیل
وب سایت/بلاگ
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

آپلود عکس دلخواه: